#ifndef VECTOR3D_H
#define VECTOR3D_H

#include <math.h>

class Vector3D
{
private:
	float fX, fY, fZ;
	float magnitude;
public:
	Vector3D() { fX = fY = fZ = 0; }
	Vector3D(float x, float y, float z) { fX = x; fY = y; fZ = z; }
	void setX(float x) { fX = x; }
	void setY(float y) { fY = y; }
	void setZ(float z) { fZ = z; }
	float getX() { return fX; }
	float getY() { return fY; }
	float getZ() { return fZ; }
	float getMagnitude() { return magnitude; }
	Vector3D operator+(Vector3D);
	Vector3D operator-(Vector3D);
	Vector3D operator*(float);


	//calculates magnitude from the center
	float CalculateMagnitude();
	//calculates the dist from another point
	float DistanceTo(Vector3D);
	//computes the dot product with another vector
	float dot(Vector3D);

};

#endif